package com.origin.niuke.tree;

import general_class.TreeNode;

/**
 * NC234 二叉树的最小深度
 * 算法：深度优先搜索
 *
 * @author yezh
 * @date 2022/12/13 21:24
 */
public class NC234 {

    public int run (TreeNode root) {
        // write code here
        if (root == null) return 0;
        // 考虑出现左子树为空但右子树不为空的情况
        if (root.left != null && root.right == null) return run(root.left) + 1;
        if (root.left == null && root.right != null) return run(root.right) + 1;
        return Math.min(run(root.left), run(root.right)) + 1;
    }

}
